package vistas;

import java.util.Observable;

import objetos.proyectiles.Proyectil;
import ar.uba.fi.algo3.titiritero.ControladorJuego;

/*
 * Vista que define las caracter�sticas b�sicas para las vistas de los proyectiles. 
 * Todas las vistas espec�ficas de cada proyectil deben heredear de esta clase.
 */
public abstract class VistaProyectiles extends VistaObjetoMovil {

	public VistaProyectiles(Proyectil proyectil, ControladorJuego controlador) {
		super(proyectil, controlador);
	}

	@Override
	public void update(Observable objeto, Object args) {
		if (this.getObjeto().estaDestruido()) {
			dibujarExplosionChica();
			this.removerVistaDeControlador();
		} else {
			this.setearImagen();
		}
	}

	public void dibujarExplosionChica() {
		VistaExplosionChica explosion = new VistaExplosionChica(getObjeto(),
				getControlador());
		getControlador().agregarDibujable(explosion);
	}

	@Override
	public abstract void setearImagen();

}
